One or more aspects relate, in general, to processing within a computing environment, and in particular, to processing associated with generating true random numbers.
Computer applications use random numbers for a variety of functions, including the generation of data encryption keys, simulation of complex phenomena, selecting samples from larger data sets, gaming, etc. To generate a random number, a random number generator (RNG) is used. A random number generator is a computational or physical device designed to generate a sequence of numbers or symbols that cannot be reasonably predicted better than by a random chance. Random numbers may be pseudorandom numbers or true random numbers.
Pseudorandom numbers are generated using a pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG). A pseudorandom number generator is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. A PRNG-generated sequence is not truly random, because it is completely determined by a relatively small set of initial values, called the PRNG's seed, which may include truly random values.
True random numbers are generated using a hardware random number generator, also referred to as a true random number generator (TRNG). A true random number generator is a device that generates random numbers from a physical process, rather than a computer program. As examples, true random number generators may be based on quantum effects of radioactive isotope decay, atmospheric radio noise, interference of ring oscillators, etc.